package org.ky.generator.expand;

import java.util.List;


/**
 * 基础的Mapper接口<br/>
 * 注：尽量避免修改对应的Mapper.xml中的对应方法
 * 
 * @author K.y
 *
 * @param <T>
 */
public interface IBaseMapper<T> {

	/**
	 * 插入一条新数据
	 * 
	 * @param obj
	 */
	void insert(T obj);

	/**
	 * 根据标识更新数据
	 * 
	 * @param obj
	 */
	void update(T obj);

	/**
	 * 查询所有数据
	 */
	List<T> findAll();

	/**
	 * 条件查询数据
	 * 
	 * @param obj
	 */
	List<T> find(T obj);

	/**
	 * 根据Id查询数据
	 * 
	 * @param id
	 */
	T findById(Long id);

	/**
	 * 分页条件查询数据
	 * 
	 * @param criteria
	 */
	List<T> findPage(DefaultCriteria criteria);

	/**
	 * 条件查询数据总数
	 * 
	 * @param criteria
	 */
	Integer getCount(DefaultCriteria criteria);

}
